<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			// 简单promise
			// let promise = new Promise(function(resolve, reject) {
			// 	// 异步函数
			// 	setTimeout(function() {
			// 		if (0) {
			// 			resolve('promise异步函数成功')
			// 		} else {
			// 			reject('promise异步函数失败')
			// 		}
			// 	}, 3000)
			// })
			// promise.then(function(res) {
			// 	console.log(res)
			// }, function(res) {
			// 	console.log(res)
			// })
			
			
			// promise常用
			async function main() {
				// Promise是构造函数,resolve作为成功的回调函数，reject作为失败的回调函数
				let promise = new Promise(function(resolve, reject) {
					// 异步函数
					setTimeout(function() {
						if (0) {
							resolve('promise异步函数成功')
						} else {
							//这里reject的值如果返回，需要try catch才能接收到，最好是不返回，直接弹出错误
							// reject('promise异步函数失败')
							alert('promise异步函数失败')
						}
					}, 3000)
				})
				let res = await promise
				console.log(res)
			}
			main()



			// 下面这样写是不对的，不能输出【异步函数成功】
			// async function init() {
			// 	let res = await setTimeout(function() {
			// 		if (0) {
			// 			return 'await异步函数成功'
			// 		} else {
			// 			return 'await异步函数失败'
			// 		}
			// 	}, 3000)
			// 	console.log(res)
			// }
			// init()
		</script>
	</body>
</html>